The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also correspond to embodiments of the claimed inventions.
Within a computing environment, it is commonly necessary to search for stored documents and records within a data store. It is sometimes also necessary or desirable to search for information, such as text strings or other quantifiable data within, for example, records, documents, files, or other objects stored within a data store or similar repository. Unfortunately, searching through records or searching for text and other data within records and within documents can be extraordinarily expensive in terms of computational resources. Search indexes have thus been developed that provide cross referencing capabilities, links, and pointers to desirable information. For example, rather than searching through a large repository of files for a specified data element, a search index can be created ahead of time, and then the search index itself can be searched, which in turn points to the appropriate results (for example, the appropriate records or files corresponding to a search term, such as having a specified string therein) within the repository of files or other data store. Because search indexes are typically much smaller than the sum of the actual corresponding records and files that would otherwise be searched, executing a search against the smaller search index is generally much faster.
Notwithstanding the benefits of indexing information and creating search indexes for a data store, the task of indexing information also requires computational resources. Moreover, managing the indexes and searching the indexes carries with it an overhead cost, for example, in the form of additional computing resource requirements, storage requirements, and complexity, that is not directly attributable toward processing a requested search.
As the size of a search index grows, these overhead costs can become significant and can degrade the performance and operating efficiency of a system designed to search the indexes and retrieve appropriate records and files from the data store. As the search indexes themselves grow in size, more and more time or processing power is required to retrieve a desired result. As the data store grows larger and the corresponding search index also grows, the time it takes to process a search request and return results continues to increase and can reflect negatively upon the search provider due to a poor user experience owing to the increased search times.